<!--
  功能：疫苗信息
  作者：zzb
  邮箱：2283325110@qq.com
  时间：2021年12月06日 17:05:38
  版本：v1.0
  修改记录：
  修改内容：
  修改人员：
  修改时间：
-->
<template>
  <div class="">
    <div v-for="(item, index) in vaccineInfo" :key="index">
      <el-descriptions
        :title="item.name"
        direction="vertical"
        :column="4"
        border
      >
        <el-descriptions-item label="类型">
          {{ item.type }}
        </el-descriptions-item>
        <el-descriptions-item label="疫苗批号">
          {{ item.batchNumber }}
        </el-descriptions-item>
        <el-descriptions-item label="注射部位">
          <el-tag size="small">{{ item.inoculationSite }}</el-tag>
        </el-descriptions-item>
        <el-descriptions-item label="生产公司">
          {{ item.production }}
        </el-descriptions-item>
      </el-descriptions>
      <br />
    </div>
  </div>
</template>

<script>
  import { getVaccines } from '@/api/appoint'
  import { mapGetters } from 'vuex'

  export default {
    // 组件名称
    name: 'MyAppoint',
    // 组件参数 接收来自父组件的数据
    props: {},
    // 组件状态值
    data() {
      return {
        vaccineInfo: [],
      }
    },
    // 计算属性
    computed: {
      ...mapGetters({
        username: 'user/username',
      }),
    },
    // 侦听器
    watch: {},
    // 以下是生命周期钩子
    /**
     * 组件实例创建完成，属性已绑定，但DOM还未生成，$ el属性还不存在
     */
    created() {
      this.fetchData()
    },
    /**
     * el 被新创建的 vm.$ el 替换，并挂载到实例上去之后调用该钩子。
     * 如果 root 实例挂载了一个文档内元素，当 mounted 被调用时 vm.$ el 也在文档内。
     */
    mounted() {},
    // 组件方法
    methods: {
      async fetchData() {
        const { data } = await getVaccines()
        this.vaccineInfo = data
      },
    },
  }
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<!--使用了scoped属性之后，父组件的style样式将不会渗透到子组件中，-->
<!--然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响，-->
<!--这么设计的目的是父组件可以对子组件根元素进行布局。-->
<style scoped></style>
